home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / UTILFILE / UNPROPTC.LZH / DSKCPY20.MOD < prev    next >
Text File  |  1984-01-16  |  7KB  |  236 lines

  1.  
  2.                DISKCOPY MODIFICATION
  3.  
  4.      THIS DEBUG DESCRIPTION IS FOR THE EXPERIENCED PROGRAMMER.
  5.  
  6. THIS WILL ELIMINATE THE QUESTIONS AT THE START AND END OF DISKCOPY.COM
  7. TO ALLOW THE PROGRAM TO RUN WITHOUT OPERATOR INTERVENTION.
  8.  
  9. USING DOS DEBUG:
  10.  
  11. A>DEBUG DISKCOPY.COM
  12. -E 1A2
  13. 07F0:01A2 CD.90 21.90 <ENTER>
  14. -E 234
  15. 07F0:0234 BA.C3 A6.90 05.90 <ENTER>
  16. -E 1E0
  17. 07F0:01E0 BA.CD 33.20 07.90 <ENTER>
  18. -W
  19. WRITING 07D8 BYTES
  20. -Q
  21.               DISKCOPY     MODIFICATION
  22.  
  23.      This DEBUG modification will eliminate the messages related to
  24. inserting the source and destination and response at setup time for
  25. DISKCOPY.COM. It also tells you how to take out the termination in-
  26. quiry asking if you have another disk to copy. All of this allows
  27. for DISKCOPY to run without operator intervention. [NOTE: The
  28. comments on the unassembled code instructions are mine and will not
  29. appear when the -U commands are typed in.]
  30.  
  31. FIRST: use DEBUG to read in DISKCOPY.COM...
  32.  
  33. A>DEBUG DISKCOPY.COM
  34.  
  35. *****************************************************************
  36.  
  37. TO ELIMINATE THE 'INSERT SOURCE DISKETTE .....' MESSAGE:
  38.  
  39. TYPE:
  40. -U 19D 1A2 <ENTER>      [This will unassemble the instructions:
  41.  
  42.            MOV   DX,057F          POINT TO THE 'SOURCE DISK MSG'
  43.            MOV   AH,09
  44.            INT   21           SHOW IT ON THE SCREEN
  45.  
  46.    NOW WE WILL 'NOP' THE -INT 21- WHICH PRINTS OUT THE MESSAGE:
  47.  
  48. TYPE:
  49. -E 1A2 <ENTER>
  50.  
  51.      [THIS WILL SHOW YOU THE LOCATION YOU ARE CHANGING AND THE
  52.       DATA THAT IS IN THOSE LOCATIONS. WE WILL BE TYPING THE
  53.       CHARACTERS HEX(90) TO REPLACE THE CHARACTERS HEX(CD) AND
  54.       HEX(21)..(REFERENCE DEBUG SECTION OF DOS MANUAL IF NEC-
  55.       ESSARY.)
  56.  
  57. 07F0:01A2 CD.90 21.90 <ENTER>
  58.  
  59. ******************************************************************
  60.  
  61. TO ELIMINATE THE  MESSAGE FOR 'INSERT DESTINATION DISKETTE......'
  62. AND 'PRESS ANY KEY......'
  63.  
  64. TYPE:
  65. -U 234 246 <ENTER>    [THIS WILL UNASSEMBLE THE CODE THAT PRINTS OUT
  66.                THE TWO MESSAGES THAT WE ARE INTERESTED IN AND
  67.                WHERE THEY WAIT FOR THE RESPONSE.
  68.  
  69. RESPONSE:
  70.       MOV    DX,05A6     DESTINATION DISKETTE MSG
  71.       MOV    AH,09
  72.       INT    21        SHOW IT ON THE SCREEN
  73.       MOV    DX,05CD     STRIKE ANY KEY MESSAGE
  74.       INT    21        SHOW IT ON THE SCREEN
  75.       MOV    AH,0C
  76.       MOV    AL,01
  77.       INT    21        WAIT FOR RESPONSE
  78.       RET            END OF THIS ROUTINE.
  79.  
  80.    WE WILL MOVE THE `RET` UP TO WHERE THE DESTINATION DISKETTE MSG
  81.    STARTS. THIS WILL EXIT THIS CODE BEFORE THE MESSAGES AND RESPONSE
  82.    IS ASKED. WE WILL REPLACE THE HEX CHARACTERS (BAA605) WITH THE
  83.    HEX CHARACTERS (C39090).
  84.  
  85. TYPE:
  86. -E 234 <ENTER>
  87.  
  88. [COMPUTER WILL RESPOND WITH LOCATION AND CHARACTERS THAT ARE PRESENTLY
  89. LOCATED IN THE APPROPRIATE LOCATIONS - TYPE REPLACEMENT CHARACTERS AND
  90. TERMINATE OPERATIONS WITH THE 'ENTER' KEY.
  91.  
  92. 07F0:0234 BA.C3 A6.90 05.90  <ENTER>
  93.  
  94. ********************************************************************
  95.  
  96. NOW WE HAVE TO GET RID OF THE MESSAGE(S) AND RESPONSE CONCERNING:
  97. 'COPY ANOTHER DISKETTE' AND 'Y OR N' RESPONSE.
  98.  
  99. -U 1D9 1EA <ENTER>  [THIS WILL UNASSEMBLE THE INSTRUCTIONS THAT SHOW
  100.             THE COPY ANOTHER DISKETTE MESSAGE AND RESPONSE.]
  101.  
  102.       MOV    DX,05EB      THIS IS THE 'COPY COMPLETE MESSAGE'
  103.       MOV    AH,09
  104.       INT    21         SHOW IT ON THE SCREEN
  105.       MOV    DX,0733      THIS IS THE 'COPY ANOTHER ???? MSG'
  106.       MOV    AH,09
  107.       INT    21         SHOW IT ON THE SCREEN
  108.       MOV    AX,0C01      SET UP 'Y OR N' QUESTION
  109.       INT    21         WAIT..
  110.  
  111. TYPE:
  112.  
  113. -E 1E0    <ENTER>
  114.  
  115. [THE COMPUTER WILL RESPOND WITH THE MEMORY LOCATION AND THE CHARACTERS
  116. THAT ARE PRESENTLY LOCATED THERE. REPLACE HEX (BA3307) WITH HEX CHAR-
  117. ACTERS (CD2090). WE ARE GOING TO LEAVE THE 'COPY COMPLETE' MESSAGE -
  118. WE ARE JUST GOING TO TERMINATE THE PROGRAM BEFORE THE 'COPY ANOTHER'
  119. QUESTION IS ASKED.
  120.  
  121. 07F0:01E0 BA.CD 33.20 07.90 <ENTER>
  122.  
  123. **********************************************************************
  124.  
  125. IF YOU DON'T WANT TO DESTROY YOUR DISKCOPY.COM FILE TYPE:
  126.  
  127. -N ANYNAME.COM <ENTER>
  128.  
  129. NOW WRITE OUT THE CHANGES TO THE DISK FILE.
  130.  
  131. -W <ENTER>
  132.  
  133. RESPONSE:
  134.  
  135. WRITING 07D8 BYTES
  136.  
  137. THEN TYPE:
  138.  
  139. -Q <ENTER>     [THIS WILL EXIT THE DEBUG PROGRAM...]
  140.  
  141. GOOD LUCK....
  142. **********************************************************************
  143.  
  144.      *****    DISKCOPY BUG FIX  ** by DAVE BROWNING  *****
  145.  
  146.           This article provides a fix for a bug in the
  147.      IBM DISKCOPY program provided with DOS 1.1.
  148.  
  149.           The bug only appears in systems having more
  150.      than 320K memory.  I found it when I upgraded one
  151.      of our machines to 384K.  On machines of this or
  152.      larger memory sizes there is sufficient available
  153.      memory for the diskcopy program to read an entire
  154.      double-sided disk into memory before writing to the
  155.      other disk.  The bug is that DISKCOPY tries to read
  156.      beyond the end of the disk, causing an error, not
  157.      to mention some disturbing noises from the disk
  158.      drive.  The bug is only there for double-sided
  159.      diskettes - single-sides copy OK even though of
  160.      smaller size.
  161.  
  162.           The version of DISKCOPY that this fix will
  163.      repair was provided with DOS 1.1, and the
  164.      DISKCOPY.COM file is dated 05/07/82, with a size of
  165.      2008 bytes.  This fix may or may not work on other
  166.      versions - probably not.
  167.  
  168.           The overall repair is to use DEBUG to update
  169.      the DISKCOPY.COM as follows:
  170.       1. Using the ENTER command change these locations:
  171.          LOC    New value
  172.          0861   E8 74 00
  173.          08D8   3D 51 00 72 02 B0 50 A2 36 05 C3
  174.       2. Change the CX register to 07E3
  175.       3. Save the file.
  176.  
  177.           For those with little or no experience with
  178.      using DEBUG, the following step-by-step procedure
  179.      is provided:
  180.  
  181.      1.  Format a blank diskette using the FORMAT B:/S
  182.      command.  (If you don't have two disk drives, make
  183.      appropriate changes to this procedure to do it on
  184.      the A: drive.)
  185.      2.  Use the COPY command to copy DISKCOPY.COM from
  186.      your DOS disk to the newly formatted disk.  (e.g.
  187.      A>COPY DISKCOPY.COM B:)
  188.      3.  With the DOS disk in A: and the new disk in B:,
  189.      type A>DEBUG B:DISKCOPY.COM
  190.      4.  You will get a minus sign which is the DEBUG
  191.      prompt.
  192.      5.  Now type the following:
  193.      -E 0861 E8 74 00 <enter>
  194.      -E 08D8 3D 51 00 72 02 B0 50 A2 36 05 C3 <enter>
  195.      -R CX <enter>
  196.      the DEBUG program will respond with CX 07D8 and a
  197.      colon, where you start typing again (you type 07E3)
  198.      CX 07D8    (DEBUG types this)
  199.      :07E3 <enter>
  200.      -W <enter>
  201.      the DEBUG program will now respond:
  202.      Writing 07E3 bytes
  203.      -Q <enter>  AND YOU'RE DONE!
  204.  
  205.      MOST IMPORTANT:  TEST THE NEW DISKCOPY PROGRAM
  206.      USING A SECOND SCRATCH DISK BEFORE YOU REPLACE YOUR
  207.      CURRENT VERSION.
  208.  
  209.      Many thanks to DAVIS McCARN of DMcC who tracked
  210.      down the fix from HARRY LIPKIND and passed it on
  211.      to me.
  212.  
  213.      If you have made it this far, you should also fix
  214.      the DISKCOMP program which has the same bug.  The
  215.      procedure is the same, only the locations and CX
  216.      register sizes are different:
  217.  
  218.      For DISKCOMP.COM of 05/07/82:
  219.      LOC   New value
  220.      06EC  E8 79 00
  221.      0768  3D 51 00 72 02 B0 50 A2 95 04 C3
  222.      CX    0673
  223.  
  224.      This was also provided by Davis McCarn.
  225.  
  226.  
  227.  
  228.  
  229.  
  230. 
  231.  
  232. 8 79 00
  233.      0768  3D 51 00 72 02 B0 50 A2 95 04 C3
  234.      CX    0673
  235.  
  236.      This was also